
-- Sharpen_Luminance.lua
-- apply a sharpening convolution to the value channel.

kernel = { { -1, -1,  -1},
           { -1,  12,  -1},
           { -1, -1,  -1} }
divisor = 4
offset = 0


function filter (x,y)
   local i, j, sum, v2 , dummy1, dummy2
   sum = 0

   for i=-1,1 do
      for j=-1,1 do
         dummy1,dummy2,v2=get_hsv(x+i, y+j)
         sum = sum + (kernel[j+2][i+2] * v2)
      end
   end
   return (sum / divisor) + offset
end



for y=bound_y0, bound_y1-1 do
   for x=bound_x0, bound_x1-1 do
       h,s,v = get_hsv(x,y)
       v = filter (x,y)

       set_hsv (x,y,h,s,v)
   end
   progress ((y-bound_y0)/(bound_y1-bound_y0))
end
